﻿using System;

namespace Eswat
{
	/// <summary>
	/// Contract for a test runner result.
	/// </summary>
	/// <typeparam name="TTestTarget">The type of the test target.</typeparam>
	public interface ITestRunnerResult<TTestTarget>
	{
		/// <summary>
		/// Gets the test context.
		/// </summary>
		ITestContext<TTestTarget> TestContext { get; }

		/// <summary>
		/// Gets the inner exception.
		/// </summary>
		Exception InnerException { get; }

		/// <summary>
		/// Gets a value indicating whether this instance is error.
		/// </summary>
		/// <value>
		///   <c>true</c> if this instance is error; otherwise, <c>false</c>.
		/// </value>
		bool IsError { get; }
	}
}
